home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / asm / pc370_3.exe / lha / DEMOMVS.ALC < prev    next >
Text File  |  1987-06-06  |  7KB  |  229 lines

  1.     TITLE 'DEMOMVS - DEMO USE OF MVS SHELL TO SUPPORT MVS WTO'
  2. *
  3. * PGM-ID.  DEMOMVS.ALC
  4. * AUTHOR.  DON HIGGINS
  5. * DATE.    05/29/87
  6. * REMARKS. THIS PROGRAM INVOKES MVS.MOD DYNAMICALLY LOADED SUBROUTINE
  7. *          TO ESTABLISH MVS SHELL AND THEN USES STANDARD MVS WTO AND
  8. *          WTOR SVC'S.
  9. * MAINTENANCE.
  10. *
  11. * 05/30/87 CHANGE LOGIC FOR RETURN TO PC/370 SUPERVISOR STATE AT SVC 3
  12. * 06/01/87 REMOVE PATH FOR MVS.MOD
  13. * 06/02/87 ADD CHAINED CCW'S AND POINT ASSIST CHANNEL I/O TO CONSOLE
  14. * 06/06/87 ADD DISPLAY OF TIMER RESULTS IN R1 VIA ABEND, ADD WTOR TEST
  15. *
  16. DEMOMVS  CSECT
  17.     STM   R14,R12,12(R13)
  18.     LR    R12,R15
  19.     USING DEMOMVS,R12
  20.     LA    R15,DEMOSAVE
  21.     ST    R15,8(R13)
  22.     ST    R13,4(R15)
  23.     LR    R13,R15
  24.     LA    R2,=C'DEMOMVS STARTED$'
  25.     SVC   PCWTO
  26.     L     R15,=V(PET)
  27.     BALR  R14,R15       PRINT TIME AND DATE
  28.     LA    R1,=C'MVS.MOD'
  29.     SVC   PCLOAD
  30.     LTR   R15,R15
  31.     BNZ   ABEND
  32.     LR    R15,R0
  33.     BALR  R14,R15       IPL MVS AND RETRUN IN PROBLEM STATE
  34. *
  35. * TEST MVS WTO/WTOR SVC 35
  36. *
  37.     BAL   R1,WTO1
  38.     DC    AL2(WTO1M-*,0),C'HELLO FROM MVS DEMO VIA WTO'
  39. WTO1M    EQU   *
  40. WTO1     DS    0H
  41.     SVC   MVSWTO            MVS WTO SVC 35
  42.     BAL   R1,WTO2
  43.     DC    AL2(WTO2M-*,0),C'HELLO AGAIN TO TEST SERIAL REUSE'
  44. WTO2M    EQU   *
  45. WTO2     DS    0H
  46.     SVC   MVSWTO            MVS WTO SVC 35
  47.     CNOP  0,4
  48. WTORLOOP BAL   R1,WTOR1
  49.     DC    AL1(L'WTOR1RPY),AL3(WTOR1RPY),A(WTORECB)
  50.     DC    AL2(WTOR1M-*,0),C'ENTER WTOR REPLY TO ECHO, END TO STOP'
  51. WTOR1M   EQU   *
  52. WTOR1    DS    0H
  53.     SVC   MVSWTOR           MVS WTOR SVC 35
  54.     LA    R3,20
  55. WTOLOOP  EQU   *                 WTO SCREEN OF MSGS WHILE WAITING
  56.     BAL   R1,WTO2A
  57.     DC    AL2(WTO2AM-*,0),C'FILL SCREEN WHILE WTOR OUTSTANDING'
  58. WTO2AM   EQU   *
  59. WTO2A    DS    0H
  60.     SVC   MVSWTO            MVS WTO SVC 35
  61.     BCT   R3,WTOLOOP
  62.     LA    R1,WTORECB
  63.     SVC   MVSWAIT
  64.     CLC   WTOR1RPY,=C'END'
  65.     BE    WTOREND
  66.     BAL   R1,WTO3
  67.     DC    AL2(WTO3M-*,0),C'REPLY WAS '
  68. WTOR1RPY DC    C'XXX'
  69. WTO3M    EQU   *
  70. WTO3     DS    0H
  71.     SVC   MVSWTO            MVS WTO SVC 35
  72.     B     WTORLOOP
  73. WTORECB  DC    F'0'
  74. WTOREND  EQU   *
  75. *
  76. * TEST MVS GMAINR/FMAINR SVC 10
  77. *
  78.     BAL   R1,WTO4
  79.     DC    AL2(WTO4M-*,0),C'TEST MVS GETMAIN/FREEMAIN STARTING'
  80. WTO4M    EQU   *
  81. WTO4     DS    0H
  82.     SVC   MVSWTO            MVS WTO SVC 35
  83.     LA    R4,X'104'
  84.     USING ASCB,R4
  85.     L     R2,ASCASF     SAVE FQE PTR FOR CHECK
  86.     LA    R0,16
  87.     LCR   R1,R0         R1 = NEG. FOR GMAIN
  88.     SVC   MVSGMAIN      MVS GETMAIN SVC 10
  89.     CLR   R1,R2
  90.     BNE   ERR           DID WE GET FIRST 16
  91.     LA    R3,16(R2)
  92.     CL    R3,ASCASF     DOES FQE NOT POINT TO REMAINING
  93.     BNE   ERR
  94.     SVC   MVSFMAIN      MVS FREEMAIN SVC 10
  95.     CL    R2,ASCASF     IS FQE BACK TO ORIG.
  96.     BNE   ERR
  97. *
  98. * TEST MVS ABEND SVC 13 WITH/WITHOUT FORMATTTED DUMP OPTION
  99. *
  100.     BAL   R1,WTO5
  101.     DC    AL2(WTO5M-*,0),C'TEST MVS ABEND WITHOUT/WITH DUMP'
  102. WTO5M    EQU   *
  103. WTO5     DS    0H
  104.     SVC   MVSWTO            MVS WTO SVC 35
  105.     L     R1,=X'00122000' SYSTEM ABEND 122
  106.     SVC   MVSABEND
  107.     L     R1,=X'80000333' USER ABEND 333 WITH DUMP
  108.     SVC   MVSABEND
  109. *
  110. * TEST MVS TIMER SVC 11
  111. *
  112.     BAL   R1,WTO6
  113.     DC    AL2(WTO6M-*,0),C'TEST TIMER R1=0.01 SEC/HHMMSSTH'
  114. WTO6M    EQU   *
  115. WTO6     DS    0H
  116.     SVC   MVSWTO            MVS WTO SVC 35
  117.     LA    R1,X'01'      REQ. TOD IN 0.01 SEC
  118.     SVC   MVSTIME       MVS TIME SVC 11
  119.     LR    R1,R0
  120.     SVC   MVSABEND      USE ABEND TO DISPLAY R1 0.01 SEC TIME
  121.     LA    R1,X'02'
  122.     SVC   MVSTIME
  123.     LR    R1,R0
  124.     SVC   MVSABEND      USE ABEND TO DISPLAY R1 PACKED HHMMSSTH
  125. *
  126. * TEST MACRO CODE FOR SIO (INS0156.MOD) TO SIMULATE CHANNEL TO X'01F' CONSOLE
  127. *
  128.     BAL   R1,WTO7
  129.     DC    AL2(WTO7M-*,0),C'TEST MVS SIO SIMULATOR STARTING'
  130. WTO7M    EQU   *
  131. WTO7     DS    0H
  132.     SVC   MVSWTO            MVS WTO SVC 35
  133.     XFILI =C'CON:'      REDIRECT ASSIST (SIMULATED CHANNEL I/O) TO CON:
  134.     XFILO =C'CON:'
  135.     LA    R0,SIOCCW1
  136.     ST    R0,CAW
  137.     SIO   X'01F'
  138.     CLC   CSW+4(4),=X'0D000050' CE,DE,UE, NO DATA READ AT EOF
  139.     BNE   ERR
  140.     LA    R0,SIOCCW2
  141.     ST    R0,CAW
  142.     SIO   X'01F'
  143.     CLC   CSW+4(4),=X'0C000000' CE,DE, 0 RESID.
  144.     BNE   ERR
  145. *
  146. * EXIT MVS MODE TO SUPR. STATE AND EXIT PC/370 TO MS-DOS
  147. *
  148.     SVC   MVSEXIT       RETRUN TO SUPR. STATE
  149.     LA    R2,=C'END OF DEMOMVS$'
  150.     SVC   PCWTO
  151.     L     R13,4(R13)    RESTORE SAVE
  152.     LM    R14,R12,12(R13) RESTORE REGS
  153.     BR    R14           EXIT TO PC/370 DETACH SVC
  154. ABEND    EQU   *             MVS EXIT SVC
  155.     SVC   MVSEXIT       RETURN TO SUPR. STATE
  156.     SVC   PCTRACE
  157.     DC    C'106'
  158.     SVC   PCTRACE
  159.     DC    C'BUG'
  160.     B     ABEND
  161. ERR      EQU   *
  162.     SVC   MVSEXIT       RETURN TO SUPR. STATE
  163.     SVC   PCTRACE
  164.     DC    C'800'
  165.     SVC   PCTRACE
  166.     DC    C'BUG'
  167.     B     ERR
  168. SIOCCW1  CCW   CCWRITE,SIOMSG1,X'40',L'SIOMSG1 HELLO
  169. SIOCCW1L CCW   CCWRITE,SIOMSG2,X'40',L'SIOMSG2 ENTER TEXT TO ECHO
  170.     CCW   CCREAD,SIOREAD,X'40',L'SIOREAD READ  TEXT
  171.     CCW   CCWRITE,SIOREAD-1,X'40',L'SIOREAD+1 ECHO  TEXT
  172.     CCW   CCTIC,SIOCCW1L,X'00',0
  173. SIOCCW2  CCW   CCWRITE,SIOMSG3,X'00',L'SIOMSG3 THATS ALL
  174. SIOMSG1  DC    C' HELLO FROM SIO CCW READ/WRITE LOOP'
  175. SIOMSG2  DC    C' ENTER TEXT TO ECHO OR ESC TO END'
  176. SIOMSG3  DC    C' DEVICE END DETECTED'
  177.     DC    C' '    CARRIAGE CONTROL FOR WRITE CCW
  178. SIOREAD  DC    CL80' '
  179. DEMOSAVE DC    18F'0'
  180. R0       EQU   0
  181. R1       EQU   1
  182. R2       EQU   2
  183. R3       EQU   3
  184. R4       EQU   4
  185. R12      EQU   12
  186. R13      EQU   13
  187. R14      EQU   14
  188. R15      EQU   15
  189. PCTRACE  EQU   9     PC/370 TRACE
  190. PCLOAD   EQU   25    PC/370 LOAD MODULE
  191. PCWTO    EQU   200+9 PC/370 WTO VIA MS-DOS SVC 9
  192. MVSWAIT  EQU   1     MVS WAIT FOR ECB POST VIA EXT. INT.
  193. MVSPOST  EQU   2     MVS POST ECB
  194. MVSEXIT  EQU   3     MVS EXIT TO PC/370 SUPERVISOR STATE
  195. MVSGMAIN EQU   10    MVS GETMAIN
  196. MVSFMAIN EQU   10    MVS FREEMAIN
  197. MVSTIME  EQU   11    MVS TIME OF DAY IN R0
  198. MVSABEND EQU   13    MVS ABEND WITH CMP CODE IN R1
  199. MVSWTO   EQU   35    MVS WTO
  200. MVSWTOR  EQU   35    MVS WTOR
  201. CSW      EQU   X'40' CHANNEL STATUS WORD
  202. CAW      EQU   X'48' CHANNEL ADDRESS WORD
  203. CCWRITE  EQU   X'01' WRITE DATA FROM MEMORY  TO CHANNEL
  204. CCREAD   EQU   X'02' READ  DATA FROM CHANNEL TO MEMORY
  205. CCTIC      EQU   X'08' TRANSFER IN CHANNEL TO NEW CCW
  206. *********************************************************************
  207. *
  208. *  ASCB - ADDRESS SPACE CONTROL BLOCK FOR PC/370 RELEASE 2.0+
  209. *
  210. *********************************************************************
  211. *
  212. *  THIS CONTROL BLOCK IS INITIALIZED BY THE PC/370 EMULATOR AT EXECUTION
  213. *  TIME FOR THE MAIN PROGRAM COM FILE AND IS LOCATED AT VIRTUAL MEMORY
  214. *  ADDRESS X'104'.  THIS CONTROL BLOCK IS ALSO CREATED FOR EACH ATTACHED
  215. *  COM PROGRAM ADDRESS SPACE DURING ATTACH SVC 26 EXECUTION (SEE SVC.DOC).
  216. *
  217. *********************************************************************
  218. ASCB     DSECT
  219. ASCIDR   DS    CL4  ASCB IDENTIFIER C'ASCB'
  220. ASCNXT   DS    A    ABSOLUTE ADDRESS OF NEXT DAUGHTER TASK ASCB
  221. ASCPRV   DS    A    ABSOLUTE ADDRESS OF PREVIOUS MOTHER TASK ASCB
  222. ASCASO   DS    A    ABSOLUTE ADDRESS OF ADDRESS SPACE ORIGIN
  223. ASCASL   DS    F    LENGTH OF ADDRESS SPACE (USED FOR ADDRESS PROTECTION)
  224. ASCASF   DS    A    RELATIVE ADDRESS OF FIRST FREE QUEUE ELEMENT (FQE)
  225. ASCENT   DS    A    RELATIVE ADDRESS OF ENTRY POINT (FROM COM PREFIX)
  226. ASCEXT   DS    A    RELATIVE ADDRESS OF RETURN IN MOTHER TASK ASCB
  227. LASCB    EQU   *-ASCB
  228.     END   DEMOMVS
  229.